package com.ssy.lingxi.member.merchant.service.base;

import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.member.merchant.entity.MemberQualityDO;
import com.ssy.lingxi.member.merchant.entity.MemberRelationDO;
import com.ssy.lingxi.member.merchant.model.vo.validate.request.MemberQualityVO;
import com.ssy.lingxi.member.merchant.model.vo.validate.response.MemberQualityQueryVO;

import java.util.List;

/**
 * 会员资质（文件）基础服务接口
 * @author 万宁
 * @version 2.0.0
 * @date 2021-05-22
 */
public interface IBaseMemberQualificationService {
    /**
     * 检查会员资质，并更新relationDo关联的MemberQualityDO中的信息（已保存，调用方需要保存relationDO）
     * @param relationDO 会员关系
     * @param qualityList 资质文件列表
     * @return 检查结果
     */
    Wrapper<Void> checkAndSaveMemberQualities(MemberRelationDO relationDO, List<MemberQualityVO> qualityList);

    /**
     * 检查会员资质，调用方要设置MemberRelationDO并保存
     * @param qualityList 资质文件接口参数列表
     * @return 资质文件
     */
    Wrapper<List<MemberQualityDO>> checkMemberQualities(List<MemberQualityVO> qualityList);

    /**
     * 查询会员资质列表
     * @param relationDO 会员关系
     * @return 查询结果
     */
    List<MemberQualityQueryVO> findMemberQualities(MemberRelationDO relationDO);
}
